; =================================================
; test
(defun hello-world ()
  (format t "hello world!"))

; =================================================
; arith
(defun arith-foo (a b)
  (+ a b 1000))

(defmacro foo (&rest args)
  `(format t "args list=~a~%" ',args))

; (b1 hello-world) results in call to hello-world
(defmacro b1 (&rest args)
  `(loop for n in ,args collect n))

(defvar *ccnt* 0)

(defun mdf (a)
  (incf *ccnt*)
  (+ a 1000))

(defmacro b2 (&rest args)
  `(car ',args))

(defmacro b3 (&rest args)
  `(mdf (car ',args)))

(defun sunpoint ()
  (format t "tt = ~a, ~a~%"
	  (b3 1)
	  (b3 2)))
